/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.navid.trafalgar.model;

import com.jme3.post.Filter;
import com.jme3.scene.Node;
import com.jme3.scene.Spatial;
import com.navid.trafalgar.model.opengl2.MillestoneModel;
import java.util.ArrayList;
import java.util.Collection;
import java.util.HashMap;
import java.util.Map;

/**
 *
 * @author alberto
 */
public class GameModel {

    private Map<String, AMillestoneModel> millestones = new HashMap<String, AMillestoneModel>();
    private Map<String, AShipModel> ships = new HashMap<String, AShipModel>();
    private Spatial sky = null;
    private IContext iContext;
    private SunModel sun;
    
    private Node gameNode;
    private Collection<Filter> fpp = new ArrayList<Filter>();

    /**
     * @return the millestones
     */
    public Map<String, AMillestoneModel> getMillestones() {
        return millestones;
    }

    /**
     * @param millestones the millestones to set
     */
    public void setMillestones(Map<String, AMillestoneModel> millestones) {
        this.millestones = millestones;
    }

    /**
     * @return the ships
     */
    public Map<String, AShipModel> getShips() {
        return ships;
    }

    /**
     * @param ships the ships to set
     */
    public void setShips(Map<String, AShipModel> ships) {
        this.ships = ships;
    }

    /**
     * @return the sky
     */
    public Spatial getSky() {
        return sky;
    }

    /**
     * @param sky the sky to set
     */
    public void setSky(Spatial sky) {
        this.sky = sky;
    }

    /**
     * @return the iContext
     */
    public IContext getiContext() {
        return iContext;
    }

    /**
     * @param iContext the iContext to set
     */
    public void setiContext(IContext iContext) {
        this.iContext = iContext;
    }

    public void setSun(SunModel sunModel) {
        this.sun = sunModel;
    }

    public SunModel getSun() {
        return sun;
    }

    /**
     * @return the gameNode
     */
    public Node getGameNode() {
        return gameNode;
    }

    /**
     * @param gameNode the gameNode to set
     */
    public void setGameNode(Node gameNode) {
        this.gameNode = gameNode;
    }

    /**
     * @return the fpp
     */
    public Collection<Filter> getFpp() {
        return fpp;
    }

    /**
     * @param fpp the fpp to set
     */
    public void setFpp(Collection<Filter> fpp) {
        this.fpp = fpp;
    }
}
